<?php

class ProductosController extends AppController {

    var $name = 'Productos';
    var $uses = array('Material', 'Lapso', 'Existencia', 'CargosImpuesto');
    var $helpers = array('Interfaz', 'AjaxAG');
    var $components = array('Maestro', 'Interfaz');
    var $layout = "ajax";

    public function beforeFilter() {
        $this->validar_sesion();
    }

    public function buscador_formulario($tipoBusqueda = 0, $bus = '') {
        if($this->permiso('PRINCIPAL', 'BUSCARPRODUCTO')) {
            extract($this->request->data);
            if(isset($num_form)) {
                $nuevoID = str_replace('-', '', $num_form);
                $programa_id = "programa_id_$nuevoID";
                $programa_id = $$programa_id;
                $tipodeventa = "tipodeventa_$nuevoID";
                $tipodeventa = $$tipodeventa;
                $lapso_id = "lapso_id_$nuevoID";
                $lapso_id = $$lapso_id;
                $fecha = "fecha_$nuevoID";
                $fecha = $$fecha;
            }
            $tipo_cliente_id = (isset($tipo_cliente_id)) ? $tipo_cliente_id : 1;
            $programa_id = (isset($programa_id)) ? $programa_id : 1;
            $lapso_id = (isset($lapso_id)) ? $lapso_id : 1;
            $cliente_id = (isset($id2)) ? $this->Interfaz->id($id2) : 0;
            $fecha = (isset($fecha)) ? $fecha : date('Y-m-d');
            
            if($cliente_id > 0)
                $tipoBusqueda = 1;
            
            if($tipoBusqueda == 0)
                $validarRunoppa = 1;
            else
                $validarRunoppa = (!empty($dataRunoppa)) ? 1 : 0;
            
            $this->buscador($tipoBusqueda, $bus, $tipo_cliente_id, $programa_id, $lapso_id, $fecha, $cliente_id, $validarRunoppa);
            $this->set('busqueda', $bus);
            
            if(isset($id2)) {
                $this->set('idClienteVenta', $id2);
            }
            $this->render('buscador');
        }
    }

    public function buscador($tipoBusqueda = 0, $dato = null, $tipo_id = null, $programa_id = null, $lapso_id = null, $fecha = null, $cliente_id=null, $validarRunoppa = 1) {
        $busquedaCodigoBarra = $this->Material->find('first', array('fields' => array('Material.id'), 'conditions' => array('Material.codigo_barra' => $dato, 'Material.estatus' => 1)));
        if (!empty($busquedaCodigoBarra)) {
            $tipo = 1;
            $cb = 1;
            echo '<script type="text/javascript">document.getElementById(\'buscadorproducto\').value=\'\';</script>';
        } else {
            $cb = 0;
            $tipo = 2;
        }
        $tipo_id = (empty($tipo_id)) ? 1 : $tipo_id;
        $programa_id = (empty($programa_id)) ? 1 : $programa_id;
        $lapso_id = (empty($lapso_id)) ? 1 : $lapso_id;
        $cliente_id = (empty($cliente_id)) ? 0 : $cliente_id;
        $id_tienda = $this->Interfaz->id($this->Session->read('tienda_id_trabajo'));
        
        $sql = "select * from fnc_buscar_productos_venta($validarRunoppa, $id_tienda,$tipo_id,$programa_id,$lapso_id,$tipo,$tipoBusqueda,'$dato','$fecha',$cliente_id) as (id bigint, nombre character varying(100), codigo character varying(20), imagen character varying(100), nombre_minimo character varying(20), entero smallint, impuesto double precision, precio double precision, existencia double precision, flete integer, monto_flete double precision, id_flete bigint, iva_flete double precision, serial integer, maximo double precision, supervisacion character varying(50), dias integer, venta double precision, desde date, hasta date, total double precision);";
        $data = $this->Material->query($sql);
        if(empty($data))
            echo '<script type="text/javascript">document.getElementById(\'buscadorproducto\').value=\'\';</script>';
        $this->set('tipoVenta', $tipoBusqueda);
        $this->set('data', $data);
        $this->set('cb', $cb);
    }

}
